package com.badger.generator.convert;

import com.badger.generator.enums.DataBaseType;

/**
 * postgresql的字段类型转换
 * @author liqi
 *
 */
public class PostgreSqlTypeConvert implements TypeConvert {

    @Override
    public DataBaseType processTypeConvert(String fieldType) {
        String t = fieldType.toLowerCase();
        if (t.contains("char") || t.contains("text")) {
            return DataBaseType.STRING;
        } else if (t.contains("bigint")) {
            return DataBaseType.LONG;
        } else if (t.contains("int")) {
            return DataBaseType.INTEGER;
        } else if (t.contains("date") || t.contains("time") || t.contains("year")) {
            return DataBaseType.DATE;
        } else if (t.contains("text")) {
            return DataBaseType.STRING;
        } else if (t.contains("bit")) {
            return DataBaseType.BOOLEAN;
        } else if (t.contains("decimal")) {
            return DataBaseType.BIG_DECIMAL;
        } else if (t.contains("clob")) {
            return DataBaseType.CLOB;
        } else if (t.contains("blob")) {
            return DataBaseType.BYTE_ARRAY;
        } else if (t.contains("float")) {
            return DataBaseType.FLOAT;
        } else if (t.contains("double") || t.contains("numeric")) {
            return DataBaseType.DOUBLE;
        } else if (t.contains("json") || t.contains("enum")) {
            return DataBaseType.STRING;
        } else if (t.contains("boolean")) {
            return DataBaseType.BOOLEAN;
        }
        return DataBaseType.STRING;
    }

}
